The present invention relates to an image forming apparatus and an image forming method where a stackless type automatic duplex unit (stackless type ADU) is provided and duplex alternating print control is performed to form images.
Conventionally, in an image forming apparatus, for increasing a printing speed, it is very important to shorten a distance (inter-sheet space) between adjacent sheets or papers to be sequentially printed. In order to shorten the inter-sheet space, it is required that, immediately after feeding a sheet which is being processed is completed and the next sheet is allowed to be fed, an instruction for feeding the next sheet is issue such that feeding the next sheet can be started as early as possible.
On the other hand, in an image forming apparatus such as a current digital copier or reproducing apparatus, a reproducing function is not only provided but also a multi-function including a facsimile function, a LAN printer function and the like has been extended, so that the volume of system software tends to increase. In development of increasing system software, a technique has been taken where a software is divided as one task for each function of the software including an input/output function, a print function, a job management function, an engine control function and the like, and development is performed for each function. Thus, by dividing the software for each function, complexity in each divided software corresponding to each function can be reduced, thereby facilitating development thereof.
In an image forming apparatus with such a task configuration, a technique where a precedent pre-output (so-called precedent throwing) of a print start command is performed has been employed as a technique for shortening an inter-sheet space. The precedent pre-output (precedent throwing) of a print start command means that, before execution of a print start command for one page is completed or terminated, a print start command for the next page is prepared and output in advance.
In a lower level module, the print start command for the next page which has been pre-output in advance is saved, and upon termination or completion of processing on the page which is being processed, the saved command is executed, so that time loss due to communication for command transmission/reception can be reduced.
For example, in a system with such a configuration including a print control task, an engine control task and a mechanism control section, a command queue is prepared in the engine control task, a precedent pre-output command issued form the print control task is saved in the queue. Immediately after the mechanism control section is put in a state capable of executing a command, it executes command, so that the precedent pre-output processing can be realized.
FIG. 1 is a diagram showing a sequence of print start executed when a precedent pre-output is not performed. As a print control section transmits a print start (command) (2) to an engine control section after a sheet feed completion (command) (1) is received, communication loss between tasks occurs.
FIG. 2 is a diagram showing a sequence of print start executed when a precedent pre-output is performed. The print control section transmits a print start (command) (2) to the engine control section before a sheet feed completion (command) (1) is received. As a result, the engine control section performs preparation for transmission of a sheet feed start command and, upon reception of the sheet feed completion (command) (1), can start execution of a paper feeding (command) (2).
However, in the precedent pre-output processing of the print start command, there occurs a problem in a case that a sheet feed position is changed in the course of execution of sequential print jobs in such a case as a cover sheet insertion, a sheet insertion or duplex printing.
For example, as shown in FIG. 3, a print job is assumed that sheets for a page (1) and a page (2) are fed from an upper stage cassette (CST upper stage) and a sheet for a page (3) is fed from a lower stage cassette (CST lower stage). At this time, a situation is further assumed that there is only one sheet in the upper stage cassette so that a sheet feed for the page (2) can not be performed due to paper empty. In this case, execution of a paper feeding start command for the page (2) results in an abnormal termination due to paper empty, but a print start command for the page (3) has been already pre-output when the abnormal termination is notified. Therefore, since a position for feeding a sheet for the page (3) is different from that of the empty cassette, the sheet for the page (3) is normally fed and printing for the sheet is started. As a result, printing is not performed on the paper for the page (2) but printing is performed on the paper for the page (3) is printed, so that printing can not be performed in a proper page order.
For this reason, conventionally, in a case that sheet feed cassette positions are changed, processing has been performed where, until execution of a command for sheet feed which is currently being executed is normally terminated, issue of the next command is stopped. That is, when the sheet feed cassette positions are changed, the precedent pre-output processing has not been performed.
However, when a duplex alternating print control using a stackless type automatic duplex unit (stackless type ADU) is performed, printing positions are changed alternately in the order of the cassette, the ADU, the cassette, and the ADU, as a printing order shown in FIG. 4. Accordingly, a precedent pre-output can not be performed for each printing, which results in deterioration of printing efficiency.